<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
  <!--引入开发版本Vue-->
  <script type="text/javascript" src="../js/vue.js"></script>
<body>

    <!--
         事件的基本使用
         0.使用v-on:xxx 或 @xxx 绑定时间,其中xxx是事件名
          1. 事件的回调需要配置在methods对象中,最终会在vm上;
          2.methods中配置的函数,不要用箭头函数!否则this就不是vm(Vue)了;而是windows
          3.methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象:
          5. @click="demo" 和 @click="demo($event)" 效果一致, 但后者可以传参 $event属于
          vue对象 也是特殊字符
    -->
    
    <!-- 准备好一个容器 -->
    <div id="root">
        <h1>欢迎来到{{name}},上班</h1>
        <button onclick="a()">我是原生js的效果</button>
        <Button v-on:click="showInfo">点我提示信息</Button>
        <Button @click="showInfo1">点我提示信息1(不传参)</Button>
        <Button @click="showInfo2($event,66)">点我提示信息2 (传参)</Button>
    </div>
</body>

<script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
    
    function a(){
        alert('你好');
    }

   

  const vm =    new Vue({
        el:document.getElementById('root'),
        data:{
            name:'csc'
        },
        //配置各种事件
        methods:{
            showInfo(){
                //console.log(this==vm);//此处的this是vm
                //console.log(event.target.innerText)
                 alert('老大')
             } ,
            //showInfo:(event)=>不要这样写,这样的话this里面是windows
            //所有被vue管理的函数 最好都写成普通函数 不要写成箭头函数
             showInfo1(event){
                //console.log(this==vm);//此处的this是vm
                //console.log(event.target.innerText)
                 alert('老大')
             } ,
             showInfo2(event,number){
                console.log(event,number);
                //console.log(this==vm);//此处的this是vm
                //console.log(event.target.innerText)
                alert('老二')
             }   
        }
    })

</script>

</html>